/* 
类类型: 实现接口
1. 一个类可以实现多个接口
2. 一个接口可以继承多个接口

*/
(function () {
 interface Alarm {
  alart (): void 
 }

 interface Light {
  lightOn (): void
  lightOff (): void
 }

 // 一个接口可以继承另一个接口
 interface LieghtAlarm extends Alarm, Light {

 }

 class Car2 implements LieghtAlarm {
    alart (): void {
      console.log('Car2 alert')
    }

    lightOn (): void {
      console.log('Car2 lightOn')
    }

    lightOff (): void {
      console.log('Car2 lightOff')
    }
 }


 // 一个类可以实现多个接口
 class Car implements Alarm, Light {
    alart (): void {
      console.log('Car alert')
    }

    lightOn (): void {
      console.log('Car lightOn')
    }

    lightOff (): void {
      console.log('Car lightOff')
    }
 }

 const c: Car = new Car()
 c.alart()
 c.lightOff()
 c.lightOn()

 // 一个类可以继承另一个类
 class QCar extends Car {

 }


})()